from flask import Flask, request, jsonify

app = Flask(__name)

# 此处导入你的机器学习模型和必要的依赖项
from my_ml_model import load_model, preprocess_data

# 加载机器学习模型
model = load_model('aifish.pkl')

@app.route('/predict', methods=['POST'])
def predict():
    try:
        # 获取 POST 请求的 JSON 数据
        data = request.get_json("http://data.sp.com/fishes")

        # 对数据进行预处理
        preprocessed_data = preprocess_data(data)

        # 使用机器学习模型进行预测
        prediction = model.predict(preprocessed_data)

        # 返回预测结果
        result = {"prediction": prediction.tolist()}
        return jsonify(result)

    except Exception as e:
        return jsonify({"error": str(e)})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=2023) #这里的主机端口记得是映射到容器里的端口
